package com.sinothk.fc.goods.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * @Description: 商品信息
 * @Author: Liangyt
 * @Date: 2022-07-27
 * @Version: V1.0
 */
@Data
@TableName("fc_goods")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "biz_goods对象", description = "商品信息")
public class GoodsEntity implements Serializable {

    public static final int STATE_ONLINE = 2;

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "id")
    private String id;
    /**
     * 商品条形码
     */
    @Excel(name = "商品条形码", width = 15)
    @ApiModelProperty(value = "商品条形码")
    private String goodsNo;
    /**
     * 封面url
     */
    @Excel(name = "封面url", width = 15)
    @ApiModelProperty(value = "封面url")
    private String goodsCover;
    /**
     * 产品图片
     */
    @Excel(name = "产品图片", width = 15)
    @ApiModelProperty(value = "产品图片")
    private String goodsUrl;
    /**
     * 产品名称
     */
    @Excel(name = "产品名称", width = 15)
    @ApiModelProperty(value = "产品名称")
    private String goodsName;
    /**
     * 产品描述
     */
    @Excel(name = "产品描述", width = 15)
    @ApiModelProperty(value = "产品描述")
    private String goodsDescribe;
    /**
     * 标价价格
     */
    @Excel(name = "标价价格", width = 15)
    @ApiModelProperty(value = "标价价格")
    private Long goodsFlagPrice;
    /**
     * 销售价格
     */
    @Excel(name = "销售价格", width = 15)
    @ApiModelProperty(value = "销售价格")
    private Long goodsSalePrice;
    /**
     * 成本价格
     */
    @Excel(name = "成本价格", width = 15)
    @ApiModelProperty(value = "成本价格")
    private Long goodsInPrice;
    /**
     * 折扣
     */
    @Excel(name = "折扣", width = 15)
    @ApiModelProperty(value = "折扣")
    private Double goodsDiscount;
    /**
     * 定位省区
     */
    @Excel(name = "定位省区", width = 15)
    @ApiModelProperty(value = "定位省区")
    private String province;
    /**
     * 定位市州
     */
    @Excel(name = "定位市州", width = 15)
    @ApiModelProperty(value = "定位市州")
    private String city;
    /**
     * 定位区县
     */
    @Excel(name = "定位区县", width = 15)
    @ApiModelProperty(value = "定位区县")
    private String district;
    /**
     * 定位地址简称
     */
    @Excel(name = "定位地址简称", width = 15)
    @ApiModelProperty(value = "定位地址简称")
    private String goodsLocShortAddress;
    /**
     * 定位地址
     */
    @Excel(name = "定位地址", width = 15)
    @ApiModelProperty(value = "定位地址")
    private String goodsLocAddress;
    /**
     * 定位纬度
     */
    @Excel(name = "定位纬度", width = 15)
    @ApiModelProperty(value = "定位纬度")
    private Double goodsLocLat;
    /**
     * 定位经度
     */
    @Excel(name = "定位经度", width = 15)
    @ApiModelProperty(value = "定位经度")
    private Double goodsLocLng;
    /**
     * 大类id
     */
    @Excel(name = "大类id", width = 15)
    @ApiModelProperty(value = "大类id")
    private String goodsTypeMainId;
    /**
     * 大类
     */
    @Excel(name = "大类", width = 15)
    @ApiModelProperty(value = "大类")
    private String goodsTypeMain;
    /**
     * 小类id
     */
    @Excel(name = "小类id", width = 15)
    @ApiModelProperty(value = "小类id")
    private String goodsTypeSubId;
    /**
     * 小类
     */
    @Excel(name = "小类", width = 15)
    @ApiModelProperty(value = "小类")
    private String goodsTypeSub;
    /**
     * 特色标签
     */
    @Excel(name = "特色标签", width = 15)
    @ApiModelProperty(value = "特色标签")
    private String goodsSpecialFlag;
    /**
     * 送货方式：0上门自取1送货上门2沟通确定
     */
    @Excel(name = "送货方式：0上门自取1送货上门2沟通确定", width = 15)
    @ApiModelProperty(value = "送货方式：0上门自取1送货上门2沟通确定")
    private Integer deliveryType;
    /**
     * 商铺ID
     */
    @Excel(name = "商铺ID", width = 15)
    @ApiModelProperty(value = "商铺ID")
    private String storeId;
    /**
     * 商品单位
     */
    @Excel(name = "商品单位", width = 15)
    @ApiModelProperty(value = "商品单位")
    private String goodsUnit;
    /**
     * 商品量
     */
    @Excel(name = "商品量", width = 15)
    @ApiModelProperty(value = "商品量")
    private Double goodsNum;
    /**
     * 销售量
     */
    @Excel(name = "销售量", width = 15)
    @ApiModelProperty(value = "销售量")
    private Long saleNum;
    /**
     * 状态：0草稿1待上架2上架中3库存中
     */
    @Excel(name = "状态：0草稿1待上架2上架中3库存中", width = 15)
    @ApiModelProperty(value = "状态：0草稿1待上架2上架中3库存中")
    private Integer state;
    /**
     * 创建日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private Date createTime;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**
     * 更新日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private Date updateTime;
    /**
     * 更新人
     */
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    /**
     * 所属部门
     */
    @Excel(name = "所属部门", width = 15)
    @ApiModelProperty(value = "所属部门")
    private String orgCode;
    /**
     * 产品厂家
     */
    @Excel(name = "产品厂家", width = 15)
    @ApiModelProperty(value = "产品厂家")
    private String cpCj;
    /**
     * 产品原材料
     */
    @Excel(name = "产品原材料", width = 15)
    @ApiModelProperty(value = "产品原材料")
    private String cpCl;
    /**
     * 产品等级
     */
    @Excel(name = "产品等级", width = 15)
    @ApiModelProperty(value = "产品等级")
    private String cpDj;
    /**
     * 产品执行标准
     */
    @Excel(name = "产品执行标准", width = 15)
    @ApiModelProperty(value = "产品执行标准")
    private String cpBz;
    /**
     * 生产日期
     */
    @Excel(name = "生产日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "生产日期")
    private Date cpScrq;
    /**
     * 保质期
     */
    @Excel(name = "保质期", width = 15)
    @ApiModelProperty(value = "保质期")
    private Date cpBzq;
    /**
     * 净含量
     */
    @Excel(name = "净含量", width = 15)
    @ApiModelProperty(value = "净含量")
    private String cpJhl;
    /**
     * 规格
     */
    @Excel(name = "规格", width = 15)
    @ApiModelProperty(value = "规格")
    private String cpGg;
    /**
     * 厂址
     */
    @Excel(name = "厂址", width = 15)
    @ApiModelProperty(value = "厂址")
    private String cpCz;
    /**
     * 许可证号
     */
    @Excel(name = "许可证号", width = 15)
    @ApiModelProperty(value = "许可证号")
    private String cpXkzh;
    /**
     * 厂家电话
     */
    @Excel(name = "厂家电话", width = 15)
    @ApiModelProperty(value = "厂家电话")
    private String cpCjdh;
    /**
     * 邮编
     */
    @Excel(name = "邮编", width = 15)
    @ApiModelProperty(value = "邮编")
    private String cpYb;
    /**
     * 来源:0直接发布1库存转入
     */
    @Excel(name = "来源:0直接发布1库存转入", width = 15)
    @ApiModelProperty(value = "来源:0直接发布1库存转入")
    private Integer fromWhere;

    /**
     * 商品排序
     */
    @ApiModelProperty(value = "商品排序")
    private Integer sortNum;

    // =================================================== 非表字段  ==========================
}
